Information processing apparatus, input apparatus, information processing system, information processing method, and program

ABSTRACT

An information processing apparatus, an input apparatus, an information processing system, an information processing method, and a program that are capable of improving operability when a target object is selected on a screen are provided. A control apparatus is provided to which, when a button is pressed in a state where a pointer is indicating an area around an icon on a screen, a signal indicating that the button has been pressed and a signal of positional information of the pointer at that time are input, and the control apparatus performs movement control such that the pointer indicates the icon based on those signals. Therefore, even when the pointer is not directly indicating the icon, the icon can be indicated by indicating the area around the icon, thus improving operability in selecting the icon on the screen by the pointer.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation application of U.S.application Ser. No. 12/517,505, filed Jun. 3, 2009, which is a NationalStage of International Application No. PCT/JP2008/060489 filed on Jun.6, 2008 and which claims priority to Japanese Patent Application No.2007-152592 filed on Jun. 8, 2007, the entire contents of each of whichare hereby incorporated by reference herein.

BACKGROUND

The present disclosure relates to an information processing apparatus,an input apparatus, an information processing system, an informationprocessing method, and a program for processing input information in aGUI (Graphical User Interface) environment.

In recent years, it is becoming increasingly popular to connect a PC(Personal Computer) to a display of a television or the like and use itwhile relaxing in a living room. However, a desk or a table is notalways in a room to relax in, such as the living room. Therefore, forusability of the PC, an application that eliminates a keyboard operationas much as possible has been developed, and, for a mouse, a pointingdevice (3-dimensional pointing device) that enables a pointer to move bybeing freely swung 3-dimensionally is starting to appear.

Incidentally, in a case of use in the living room, which is arecently-popular style, an operation is made at a position distant froma screen display, so operability may deteriorate. In the case of the3-dimensional pointing device in particular, there is a fear thatoperability may deteriorate due to a human factor such as a handmovement, as compared to a pointing device such as a mouse of therelated art, which is operated on a desk.

In this regard, as means for improving the operability, there has beendevised a method of improving operability by making a pointer velocityvariable when the pointer is moved to a specific object (or an areaindicating a specific object) to be selected, such as an icon displayedon a screen (see, for example, Patent Document 1).

Patent Document 1: Japanese Utility Model Application Laid-open No. Hei7-36243 (paragraph [0008], FIG. 2)

However, because, when other target objects are positioned on a path ofa pointer moving to a specific target object that is supposed to beselected, a pointer velocity is lowered each time the pointer passes thetarget objects, there is a fear that operability may be ratherdeteriorated since reaching the target object that is supposed to beselected is time-consuming. In addition, because avoiding this involvesbeing conscious of the movement path each time the pointer is moved, theoperability deteriorates for sure.

SUMMARY

In view of the circumstances as described above, an informationprocessing apparatus, an input apparatus, an information processingsystem, an information processing method, and a program that are capableof improving operability when selecting a target object on a screen areprovided.

In an embodiment, there is provided an information processing apparatusincluding: a display means capable of displaying on a screen a pluralityof target objects and a pointer for selecting a target object from theplurality of target objects; an input means for inputting first movementinformation for moving the pointer on the screen, movement restrictioninformation for moving, when the pointer is indicating a predeterminedarea around the target object on the screen, the pointer such that thepointer indicates the target object, and restricting the movement of thepointer at that position, and execution information for executing, bythe pointer, the target object indicated by the pointer on the screen;and a control means for performing movement control of the pointer andexecution control of the target object based on the first movementinformation, the movement restriction information, and the executioninformation input by the input means.

In the embodiment, because the movement restriction information formoving, when the pointer is indicating the predetermined area around thetarget object on the screen, the pointer such that the pointer indicatesthe target object, and restricting the movement of the pointer at thatposition is input, and the movement control of the pointer is performedbased on the movement restriction information, even when the pointer isnot directly indicating the target object, roughly indicating the targetobject can lead to indication of the target object, thus improving theoperability in selecting the target object on the screen by the pointer.

In the embodiment, the input means inputs second movement informationfor moving, when the movement of the pointer is restricted whileindicating the target object on the screen, the pointer from the targetobject indicated by the pointer to another target object in apredetermined order; and the control means performs the movement controlof the pointer based on the second movement information.

In the embodiment, when the pointer is indicating the predetermined areaaround the target object on the screen, the pointer is moved such thatthe pointer indicates the target object, there is a possibility thatanother target object in the vicinity of the target object mayerroneously be indicated. In this regard, by structuring such that, whenone target object is indicated, the pointer is moved to another targetobject in the predetermined order, the target object to be indicated caneasily be changed to a desired target object.

In the embodiment, the input means inputs third movement information formoving, when the movement of the pointer is restricted while indicatingthe target object on the screen, the pointer to another target objectaround the target object indicated by the pointer; and the control meansperforms the movement control of the pointer based on the third movementinformation.

In the present embodiment, when the pointer is indicating thepredetermined area around the target object on the screen, the pointeris moved such that the pointer indicates the target object as describedabove, there is a possibility that another target object in the vicinityof the target object may erroneously be indicated. Therefore, bystructuring such that, when one target object is indicated, the pointeris moved to another target object around the indicated target object,the target object to be indicated can easily be changed to a desiredtarget object.

In the embodiment, the input means inputs restriction cancel informationfor canceling the restriction on the movement of the pointer whosemovement is restricted; and the control means performs the movementcontrol of the pointer based on the restriction cancel information.

In the embodiment, when the pointer is indicating the predetermined areaaround the target object on the screen, the pointer is moved such thatthe pointer indicates the target object, there is a possibility thatanother target object in the vicinity of the target object mayerroneously be indicated. In this regard, by structuring such that, whenthe movement of the pointer is restricted while indicating the targetobject, the restriction can be canceled, operability can be additionallyimproved.

According to the embodiment, the movement restriction information maycontain information for moving the pointer such that the pointerindicates the another target object, and restricting the movement of thepointer at that position.

According to the embodiment, the input means may include a button for auser to make a switch as to whether or not to let the input apparatusrecognize a movement of the input apparatus, and the control means mayperform the movement control of the pointer based on, as the restrictioncancel information, an operation signal of the button caused by theuser.

According to the embodiment, the control means may perform the movementcontrol of the pointer based on the first movement information as therestriction cancel information. In this case, the first movementinformation is a value on the movement of the input apparatus such as avelocity, acceleration, and angular velocity, or a value on othermovements caused when the input apparatus is moved by certain gestures.

According to another embodiment, there is provided an informationprocessing apparatus including: a display means capable of displaying ona screen a plurality of target objects and a pointer for selecting atarget object from the plurality of target objects; an input means forinputting first movement information for moving the pointer on thescreen, movement restriction information for moving, when the pointer isindicating a predetermined area around the target object on the screen,the pointer such that the pointer indicates the target object andrestricting the movement of the pointer at that position, andrestricting, when the pointer is indicating the target object, themovement of the pointer from the target object to outside the targetobject, and execution information for executing, by the pointer, thetarget object indicated by the pointer on the screen; and a controlmeans for performing movement control of the pointer and executioncontrol of the target object based on the first movement information,the movement restriction information, and the execution informationinput by the input means.

By the movement restriction information as described above, even whenthe pointer is positioned inside the area occupied by an image of thetarget object in the first place, the control means can restrict themovement of the pointer to the outside of the target object.

According to the embodiment, there is provided an input apparatusoperating a pointer for selecting a target object from the plurality oftarget objects displayed on a screen, including: a first operationsection to input first movement information for moving the pointer onthe screen; a second operation section to input movement restrictioninformation for moving, when the pointer is indicating a predeterminedarea around the target object on the screen, the pointer such that thepointer indicates the target object, and restricting the movement of thepointer at that position; and a third operation section to inputexecution information for executing the target object indicated by thepointer on the screen.

In the embodiment, due to the input of the movement restrictioninformation for moving, when the pointer is indicating the predeterminedarea around the target object on the screen, the pointer such that thepointer indicates the target object, and restricting the movement of thepointer at that position, even when the pointer is not directlyindicating the target object, roughly indicating the target object canlead to indication of the target object, thus improving the operabilityin selecting the target object on the screen by the pointer.

In the embodiment, the first operation section recognizes a movement ofthe input apparatus, and the recognized movement is input as the firstmovement information.

In the embodiment, a fourth operation section is provided to inputsecond movement information for moving, when the movement of the pointeris restricted while indicating the target object on the screen, thepointer from the target object indicated by the pointer to anothertarget object in a predetermined order.

In the embodiment, because, when the pointer is indicating thepredetermined area around the target object on the screen, the pointeris moved such that the pointer indicates the target object, there is apossibility that another target object in the vicinity of the targetobject may erroneously be indicated. In this regard, by structuring suchthat, when one target object is indicated, the pointer is moved toanother target object in the predetermined order, the target object tobe indicated can easily be changed to a desired target object.

In the embodiment, the second operation section and the fourth operationsection are constituted of a single scroll dial button; the secondoperation section performs the input when the scroll dial button ispressed; and the fourth operation section performs the input when ascroll dial of the scroll dial button is rotated.

In the embodiment, because, when the pointer is indicating thepredetermined area around the target object on the screen, the pointeris moved such that the pointer indicates the target object, there is apossibility that another target object in the vicinity of the targetobject may erroneously be indicated. In this regard, by structuring suchthat, when one target object is indicated, the second operation sectionperforms the input when the scroll dial button is pressed and the fourthoperation section performs the input when the scroll dial of the scrolldial button is rotated, the target object to be indicated can easily bechanged to a desired target object.

In the embodiment, by further including a fifth operation section toinput third movement information for moving, when the movement of thepointer is restricted while indicating the target object on the screen,the pointer to another target object around the target object indicatedby the pointer.

In the embodiment, because, when the pointer is indicating thepredetermined area around the target object on the screen, the pointeris moved such that the pointer indicates the target object as describedabove, there is a possibility that another target object in the vicinityof the target object may erroneously be indicated. Therefore, bystructuring such that, when one target object is indicated, the pointeris moved to another target object around the indicated target object,the target object to be indicated can easily be changed to a desiredtarget object.

According to another embodiment, there is provided an input apparatusoperating a pointer for selecting a target object from the plurality oftarget objects displayed on a screen, including: a first operationsection to input first movement information for moving the pointer onthe screen; a second operation section to input movement restrictioninformation for moving, when the pointer is indicating a predeterminedarea around the target object on the screen, the pointer such that thepointer indicates the target object and restricting the movement of thepointer at that position, and restricting, when the pointer isindicating the target object, the movement of the pointer from thetarget object to outside the target object; and a third operationsection to input execution information for executing the target objectindicated by the pointer on the screen.

According to the present embodiment, there is provided an informationprocessing system including: a display apparatus to display on a screena plurality of target objects and a pointer for selecting a targetobject from the plurality of target objects; an input apparatusincluding a first operation section to input first movement informationfor moving the pointer on the screen, a second operation section toinput movement restriction information for moving, when the pointer isindicating a predetermined area around the target object on the screen,the pointer such that the pointer indicates the target object, andrestricting the movement of the pointer at that position, and a thirdoperation section to input execution information for executing thetarget object indicated by the pointer on the screen; and an informationprocessing apparatus including an input means for inputting the firstmovement information, the movement restriction information, and theexecution information, and a control means for performing movementcontrol of the pointer and execution control of the target object basedon the first movement information, the movement restriction information,and the execution information input by the input means.

In the present embodiment, because the movement restriction informationfor moving, when the pointer is indicating the predetermined area aroundthe target object on the screen of the display apparatus, the pointersuch that the pointer indicates the target object, and restricting themovement of the pointer at that position is input to the informationprocessing apparatus from the input apparatus, and the informationprocessing apparatus performs the movement control of the pointer basedon the movement restriction information, even when the pointer is notdirectly indicating the target object, roughly indicating the targetobject can lead to indication of the target object, thus improving theoperability in selecting the target object on the screen by the pointer.

In the embodiment, the input apparatus is a 3-dimensional pointingdevice. Accordingly, when the pointer is moved on the screen by theinput apparatus, roughly indicating the target object can lead toindication of the target object, thus improving the operability inselecting the target object on the screen by the pointer.

According to the present embodiment, there is provided an informationprocessing method including: displaying on a screen a plurality oftarget objects and a pointer for selecting a target object from theplurality of target objects; moving the pointer on the screen; moving,when the pointer is indicating a predetermined area around the targetobject on the screen, the pointer such that the pointer indicates thetarget object, and restricting the movement of the pointer at thatposition; and executing the target object indicated by the pointer onthe screen.

In the present embodiment, because, when the pointer is indicating thepredetermined area around the target object on the screen, the pointeris moved such that the pointer indicates the target object, and themovement of the pointer is restricted at that position, even when thepointer is not directly indicating the target object, roughly indicatingthe target object can lead to indication of the target object, thusimproving the operability in executing the target object on the screenby the pointer.

According to another embodiment, there is provided an informationprocessing method including: displaying on a screen a plurality oftarget objects and a pointer for selecting a target object from theplurality of target objects; moving the pointer on the screen; moving,when the pointer is indicating a predetermined area around the targetobject on the screen, the pointer such that the pointer indicates thetarget object, and restricting the movement of the pointer at thatposition; restricting, when the pointer is indicating the target object,the movement of the pointer from the target object to outside the targetobject; and executing the target object indicated by the pointer on thescreen.

According to the present embodiment, there is provided a program causingan information processing apparatus to execute: displaying on a screen aplurality of target objects and a pointer for selecting a target objectfrom the plurality of target objects; moving the pointer on the screen;moving, when the pointer is indicating a predetermined area around thetarget object on the screen, the pointer such that the pointer indicatesthe target object, and restricting the movement of the pointer at thatposition; and executing the target object indicated by the pointer onthe screen.

In the present embodiment, because, when the pointer is indicating thepredetermined area around the target object on the screen, the pointeris moved such that the pointer indicates the target object, and themovement of the pointer is restricted at that position, even when thepointer is not directly indicating the target object, roughly indicatingthe target object can lead to indication of the target object, thusimproving the operability in executing the target object on the screenby the pointer.

According to another embodiment, there is provided an informationprocessing apparatus including: an input means for inputting movementinformation for moving on a screen a plurality of target objects and apointer for selecting a target object from the plurality of targetobjects; a movement control means for controlling the movement of thepointer on the screen based on the movement information input by theinput means; and a display control means for controlling display of thescreen such that, when the pointer is indicating a predetermined areaaround the target object on the screen, at least one of the pointer andthe target object is displayed with emphasis.

According to another embodiment, there is provided an informationprocessing apparatus including: an input means for inputting movementinformation for moving on a screen a plurality′ of target objects and apointer for selecting a target object from the plurality of targetobjects; a movement control means for controlling the movement of thepointer on the screen based on the movement information input by theinput means; and a display control means for controlling display of thescreen such that, when the pointer is indicating a predetermined areaaround the target object on the screen, the target object is moved to aposition of the pointer.

As described above, according to the present invention, the operabilityin selecting the target object on the screen can be improved.

Additional features and advantages are described herein, and will beapparent from, the following Detailed Description and the figures.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a diagram showing a control system according to an embodiment.

FIG. 2 is a perspective diagram showing an input apparatus.

FIG. 3 is a diagram schematically showing an internal structure of theinput apparatus.

FIG. 4 is a block diagram showing an electrical configuration of theinput apparatus.

FIG. 5 is a perspective diagram showing a sensor unit.

FIG. 6 is a diagram showing an example of a screen displayed on adisplay apparatus.

FIG. 7 is a diagram showing a state where a user is holding the inputapparatus.

FIGS. 8A and 8B are explanatory diagrams for illustrating typicalexamples of ways of moving the input apparatus and ways a pointer moveson the screen thereby.

FIGS. 9A, 9B, and 9C are diagrams for illustrating a gravitationaleffect with respect to an acceleration sensor unit.

FIGS. 10A, 10B, and 10C are diagrams for illustrating the gravitationaleffect with respect to the acceleration sensor unit.

FIG. 11 is a flowchart showing an operation performed when calculatingvelocity values of the input apparatus using angular velocity valuesdetected by an angular velocity sensor unit.

FIG. 12 is a top view of a user operating the input apparatus.

FIG. 13 is a diagram showing a trajectory of the input apparatus seenfrom a plane formed by an X axis and a Y axis.

FIG. 14 is a flowchart showing another embodiment.

FIG. 15 is a flowchart showing an operation of selecting and executingan icon on the screen by the input apparatus.

FIG. 16 is a partially enlarged diagram of the screen 3 for illustratingthe steps of restricting a movement of the pointer in the flowchart ofFIG. 15.

FIG. 17 is a perspective diagram of an input apparatus according toanother embodiment.

FIG. 18 is a diagram for illustrating a method of selecting an iconusing a scroll dial button.

FIG. 19 is a diagram for illustrating a method of selecting an iconusing the scroll dial button.

FIG. 20 is a flowchart for illustrating an operation of selecting andexecuting an icon.

FIG. 21 is a perspective diagram of an input apparatus according toanother embodiment.

FIG. 22 is a diagram for illustrating a method of selecting an iconusing a ball-like button.

FIG. 23 is a plan view of a mouse to which the present embodiment isapplied.

FIG. 24 is a perspective diagram showing an input apparatus according toanother embodiment.

FIG. 25 is a side view of the input apparatus shown in FIG. 24 seen froma rotary button side.

FIG. 26 is a diagram showing a state where the user operates the inputapparatus while a lower curved surface is in contact with a kneethereof.

FIG. 27 is a perspective diagram showing an input apparatus according toanother embodiment.

FIG. 28 is a plan view showing an input apparatus according to anotherembodiment.

FIG. 29 is a side view showing the input apparatus shown in FIG. 28.

FIG. 30 is a plan view showing an input apparatus according to anotherembodiment.

DETAILED DESCRIPTION

Hereinafter, embodiments will be described with reference to thedrawings.

FIG. 1 is a diagram showing a control system according to an embodiment.A control system 100 includes a display apparatus 5, a control apparatus40 as an information processing apparatus, and an input apparatus 1.

As shown in FIG. 1, the control apparatus 40 is a computer and includesan MPU 35 (or CPU), a RAM 36, a ROM 37, a receiver device 38, an antenna39, and a video RAM 41.

The receiver device 38 receives a control signal transmitted from theinput apparatus 1 via the antenna 39. Information received by thereceiver device 38 includes first movement information, movementrestriction information, and execution information to be describedlater.

Based on the control signal, the MPU 35 carries out calculations forcontrolling a movement of a pointer (cursor) 2 displayed on a screen 3of the display apparatus 5 or calculations for controlling execution ofan icon 4. As a result, a display control signal for controlling a UIdisplayed on the screen 3 of the display apparatus 5 is generated.

The video RAM 41 stores screen data generated in response to the displaycontrol signal and displayed on the display apparatus 5.

The control apparatus 40 may be an apparatus dedicated to the inputapparatus 1, or may be a PC or the like. The control apparatus 40 is notlimited to the PC, and may be a computer integrally formed with thedisplay apparatus 5, audiovisual equipment, a projector, a game device,a car navigation system, or the like.

FIG. 2 is a perspective diagram showing the input apparatus 1.

The input apparatus 1 is a 3-dimensional pointing device used forinputting information to the display apparatus 5. The input apparatus 1is of a size that a user is capable of holding. As shown in FIG. 2, theinput apparatus 1 includes a casing 10 and operation sections such asthree buttons 11, 12, and 13 provided at an upper portion of the casing10.

The button 11 is disposed closer to the center of the upper portion ofthe casing 10 and has a function of a left button of a mouse as an inputdevice used for a PC, for example. A file is executed by double-clickingthe button 11.

The button 12 is adjacent to the button 11 and has a function of a rightbutton of a mouse. For example, a “drag and drop” operation can be madeby moving the input apparatus 1 while press-and-holding the button 12.

As will be described later, the button 13 is a button for switchingeffectiveness/ineffectiveness of the function of recognizing a movementof the input apparatus 1. By pressing the button 13,effectiveness/ineffectiveness of the function of recognizing themovement of the input apparatus 1 is switched.

It should be noted that the function of recognizing the movement may bemade effective when the button 13 is being pressed, and the function ofrecognizing the movement may be made ineffective when the button 13 isnot being pressed. Conversely, the function of recognizing the movementmay be made ineffective when the button 13 is being pressed, and thefunction of recognizing the movement may be made effective when thebutton 13 is not being pressed. Locations of the buttons 11, 12, and 13,a content of a command issued, and the like can arbitrarily be changed.

FIG. 3 is a diagram schematically showing an internal structure of theinput apparatus 1. For the sake of convenience, in description of FIGS.2 and 3, a longitudinal direction of the casing 10 will be referred toas Z′ direction, a thickness direction of the casing 10 will be referredto as X′ direction, and a width direction of the casing 10 will bereferred to as Y′ direction.

As shown in FIG. 3, the input apparatus 1 includes a control unit 30, asensor unit 17, and batteries 14.

The control unit 30 includes a main substrate 18, an MPU 19 (MicroProcessing Unit) (or CPU) mounted on the main substrate 18, a crystaloscillator 20, a transmitting device 21, and an antenna 22 printed onthe main substrate 18.

FIG. 4 is a block diagram showing an electrical structure of the inputapparatus 1.

As shown in FIG. 4, the MPU 19 includes a built-in volatile ornonvolatile memory requisite therefor. The MPU 19 is input with adetection signal from the sensor unit 17, an operation signal from theoperation section, and the like, and executes various calculations inorder to generate control signals of the first movement information, themovement restriction information, and the execution information inresponse to those input signals.

The first movement information is information on an angular velocity, anacceleration, a velocity value, coordinates, or the like of the inputapparatus 1 for moving the pointer 2 on the screen 3. The movementrestriction information is information indicating whether the button 13has been pressed or information on coordinates of an area 4A indicatedby the pointer 2 out of a plurality of areas 4A. The executioninformation is information for executing the icon 4 indicated by thepointer 2 on the screen 3 by the pointer 2, like information indicatingwhether the button 12 has been double-clicked, for example.

The crystal oscillator 20 generates clocks and supplies them to the MPU19. As the batteries 14, dry cell batteries, rechargeable batteries, andthe like are used.

The transmitting device 21 transmits control signals (input information)generated in the MPU 19 as RF radio signals to the control apparatus 40via the antenna 22.

FIG. 5 is a perspective diagram showing the sensor unit 17. The sensorunit 17 includes an acceleration sensor unit 16 for detectingaccelerations in different angles such as along two orthogonal axes (Xaxis and Y axis). Specifically, the acceleration sensor unit 16 includestwo sensors, that is, a first acceleration sensor 161 and a secondacceleration sensor 162. The sensor unit 17 further includes an angularvelocity sensor unit 15 for detecting angular accelerations about thetwo orthogonal axes. Specifically, the angular velocity sensor unit 15includes two sensors, that is, a first angular velocity sensor 151 and asecond angular velocity sensor 152. The acceleration sensor unit 16 andthe angular velocity sensor unit 15 are packaged and mounted on acircuit board 25.

As each of the first angular velocity sensor 151 and the second angularvelocity sensor 152, a vibration gyro sensor for detecting Coriolisforce in proportion to an angular velocity is used. As each of the firstacceleration sensor 161 and the second acceleration sensor 162, anysensor such as a piezoresistive sensor, a piezoelectric sensor, or acapacitance sensor may be used.

The sensor unit 17 is incorporated into the casing 10 such that asurface of the circuit board 25 on which the acceleration sensor unit 16and the angular velocity sensor unit 15 are mounted becomessubstantially parallel to an X′-Y′ plane. As described above, the sensorunits 16 and 15 each detect physical amounts with respect to the twoaxes, that is, the X axis and the Y axis. Hereinafter, a coordinatesystem that moves along with the input apparatus 1, that is, acoordinate system fixed to the input device 1 will be represented by theX′ axis, Y′ axis, and Z′ axis. On the other hand, a coordinate systemstationary on earth, that is an inertial coordinate system will berepresented by the X axis, Y axis, and Z axis. Further, in descriptionsbelow, with regard to the movement of the input apparatus 1, arotational direction about the X′ axis is sometimes referred to as pitchdirection, a rotational direction about the Y′ axis is sometimesreferred to as yaw direction, and a rotational direction about the Z′axis is sometimes referred to as roll direction.

FIG. 6 is a diagram showing an example of the screen 3 displayed on thedisplay apparatus 5. Examples of the display apparatus 5 include aliquid crystal display and an EL (Electro-Luminescence) display, but arenot limited thereto. The display apparatus 5 may alternatively be anapparatus integrally formed with a display and capable of receivingtelevision broadcasts and the like. Unless stated otherwise, to helpunderstand descriptions below, the UI as an operation target of theinput apparatus 1 will be described as being the pointer 2 (pointer).

On the screen 3, UIs such as the icons 4 and the pointer 2 aredisplayed. The icons are images representing, on the screen 3, functionsof programs, execution commands, file contents, and the like of thecomputer. As shown in FIG. 6, around the icons 4, the areas 4A arerespectively disposed so as to surround the icons 4. As will bedescribed later, if the button 13 is pressed when the pointer 2 isindicating the area 4A, the pointer 2 is moved so as to indicate theicon 4 inside the area 4A, and the movement of the pointer 2 isrestricted at that position. It should be noted that on the screen 3, ahorizontal direction is referred to as X-axis direction and a verticaldirection is referred to as Y-axis direction.

FIG. 7 is a diagram showing a state where a user is holding the inputapparatus 1. As shown in FIG. 7, the input apparatus 1 may include, inaddition to the buttons 11, 12, and 13, operation sections includingvarious operation buttons such as those provided to a remote controllerfor operating a television or the like and a power switch, for example.Input information generated when the user moves the input apparatus 1 inthe air or operates the operation section while holding the inputapparatus 1 as shown in the figure is output to the control apparatus40, and the control apparatus 40 controls the UI.

Next, a description will be given on typical examples of ways of movingthe input apparatus 1 and ways the pointer 2 moves on the screen 3thereby. FIGS. 8A and 8B are explanatory diagrams therefor.

As shown in FIGS. 8A and 8B, the user holds the input apparatus 1 so asto aim the buttons 11 and 12 side of the input apparatus 1 at thedisplay apparatus 5 side. The user holds the input apparatus 1 so that athumb is located on an upper side and a pinky is located on a lower sideas in handshakes. In this state, the circuit board 25 (see FIG. 5) ofthe sensor unit 17 is close to being in parallel with the screen 3 ofthe display apparatus 5, and the two axes as detection axes of thesensor unit 17 respectively correspond to the horizontal axis (X axis)and the vertical axis (Y axis) on the screen 3. Hereinafter, theposition of the input apparatus 1 as shown in FIGS. 8A and 8B isreferred to as reference position.

As shown in FIG. 8A, in the reference position, the user moves a wristor an arm in the vertical direction, that is, swings it in the pitchdirection. At this time, the second acceleration sensor 162 detects anacceleration in the Y-axis direction (second acceleration) and the firstangular velocity sensor 151 detects an angular velocity about the X axis(first angular velocity) (see FIG. 5). Based on the first movementinformation as those detection values, the control apparatus 40 controlsdisplay of the pointer 2 so as to move the pointer 2 in the Y-axisdirection.

Meanwhile, as shown in FIG. 8B, in the reference position, the usermoves the wrist or the arm in the lateral direction, that is, swings itin the yaw direction. At this time, the first acceleration sensor 161detects an acceleration in the X-axis direction (first acceleration) andthe second angular velocity sensor 152 detects an angular velocity aboutthe Y axis (second angular velocity) (see FIG. 5). Based on the firstmovement information as those detection values, the control apparatus 40controls display of the pointer 2 so as to move the pointer 2 in theX-axis direction.

Although descriptions will be given later, in the embodiment, the MPU 19of the input apparatus 1 calculates the velocity values in the yaw andpitch directions based on the detection values detected by the sensorunit 17 in accordance with the program stored in the built-innonvolatile memory. In this case, mainly the MPU 19 of the inputapparatus 1 calculates the velocity information. Here, for control ofthe movement of the pointer 2, a dimension of an integration value(velocity) of biaxial acceleration values detected by the accelerationsensor unit 16 is used in principle. Input information of the velocitydimension is transmitted to the control apparatus 40.

In another embodiment, the input apparatus 1 transmits, as the inputinformation, physical amounts detected by the sensor unit 17 to thecontrol apparatus 40. In this case, the MPU 35 of the control apparatus40 calculates, in accordance with the program stored in the ROM 37, thevelocity values in the yaw and pitch directions based on the receivedinput information, and performs display so as to move the pointer 2 inaccordance with the velocity values (see FIG. 14).

The control apparatus 40 converts a displacement in the yaw directionper unit time into a displacement amount of the pointer 2 on the X axison the screen 3, and converts a displacement in the pitch direction perunit time into a displacement amount of the pointer 2 on the Y axis onthe screen 3, to thus move the pointer 2. Typically, regarding thevelocity values supplied every predetermined number of clocks, the MPU35 of the control apparatus 40 adds an n-th velocity value that has beensupplied to a (n−1)-th velocity value that has been supplied.Accordingly, the n-th velocity value that has been supplied correspondsto the displacement amount of the pointer 2, and coordinate informationof the pointer 2 on the screen 3 is generated. In this case, mainly theMPU 35 of the control apparatus 40 calculates the coordinateinformation.

A calculation method regarding an integral of the acceleration valuesthat is used when calculating the velocity values only needs to be thesame as that for the displacement amount.

Next, a description will be given on a gravitational effect with respectto the acceleration sensor unit 16. FIGS. 9A to 10C are explanatorydiagrams therefor. FIGS. 9A, 9B, and 9C are diagrams showing the inputapparatus 1 seen from the Z direction. FIGS. 10A, 10B, and 10C arediagrams showing the input apparatus 1 seen from the X direction.

In FIG. 9A, the input apparatus 1 is in the reference position and isheld still. At this time, an output of the first acceleration sensor 161is substantially 0, and an output of the second acceleration sensor 162is an output corresponding to a gravity acceleration G. However, asshown in FIG. 9B, for example, in a state where the input apparatus 1 istilted in the roll direction, the first and second acceleration sensors161 and 162 respectively detect acceleration values of tilt componentsof the gravity acceleration G.

In this case, the first acceleration sensor 161 detects the accelerationin the X-axis direction even when the input apparatus 1 is not actuallymoved in the X-axis direction in particular. The state shown in FIG. 9Bis equivalent to a state where, when the input apparatus 1 is in thereference position as shown in FIG. 9C, the acceleration sensor unit 16has received inertial forces Ix and Iy as respectively indicated byarrows with broken lines, thus being undistinguishable by theacceleration sensor unit 16. As a result, the acceleration sensor unit16 judges that an acceleration in a downward left-hand direction asindicated by an arrow is applied to the input apparatus 1 and outputs adetection signal different from the actual movement of the inputapparatus 1. In addition, because the gravity acceleration G constantlyacts on the acceleration sensor unit 16, an integration value isincreased and an amount by which the pointer 2 is displaced in thedownward oblique direction is increased at an accelerating pace. Whenthe state is shifted from that shown in FIG. 9A to that shown in FIG.9B, it is considered that inhibition of the movement of the pointer 2 onthe screen 3 is an operation that intrinsically matches the intuitionaloperation of the user.

The same holds true also when the input apparatus 1 is rotated in thepitch direction from the reference position of the input apparatus 1 asshown in FIG. 10A to tilt as shown in FIG. 10B, for example. In such acase, because the gravity acceleration G detected by the secondacceleration sensor 162 at the time the input apparatus 1 is in thereference position decreases, it is difficult for the input apparatus 1to make a distinguishment from the inertial force I in the pitchdirection as shown in FIG. 10C.

To reduce such a gravitational effect with respect to the accelerationsensor unit 16 as much as possible, the input apparatus 1 of thisembodiment uses the angular velocity values detected by the angularvelocity sensor unit 15 to calculate the velocity values of the inputapparatus 1. Hereinafter, descriptions will be given on an operationthereof. FIG. 11 is a flowchart showing the operation.

Power of the input apparatus 1 is turned on. For example, the user turnson a power switch or the like provided to the input apparatus 1 or thecontrol apparatus 40 to turn on the power of the input apparatus 1. Uponturning on the power, biaxial acceleration signals (first and secondacceleration values a_(x) and a_(y)) are output from the accelerationsensor unit 16 (Step 101 a) to be supplied to the MPU 19. Theacceleration signals are signals corresponding to the position of theinput apparatus 1 at a point when the power is turned on (hereinafter,referred to as initial position).

There are cases where the initial position is the reference position.However, a position at which the entire amount of the gravityacceleration is detected in the X-axis direction, that is, a position atwhich the output of the first acceleration sensor 161 is theacceleration value corresponding to the gravity acceleration and theoutput of the second acceleration sensor 162 is 0 is also possible. As amatter of course, as the initial position, a position tilted as shown inFIG. 9B is also possible.

The MPU 19 of the input apparatus 1 obtains the acceleration signals(a_(x), a_(y)) from the acceleration sensor unit 16 every predeterminednumber of clocks. Upon obtaining the second and subsequent accelerationsignals (a_(x), a_(y)), the MPU 19 performs the following calculation toremove the gravitational effect. Specifically, as in Equations (1) and(2) below, the MPU 19 subtracts gravity acceleration components (firsta_(x) (=a_(refx)) and a_(y) (=a_(refy))) detected last time in the X-and Y-axis directions from the currently-obtained acceleration valuesa_(x) and a_(y), respectively, to thereby generate a first correctionacceleration value a_(corx) and a second correction acceleration valuea_(cory) (Step 102 a).

a _(corx) =a _(x) −a _(refx)  (1)

a _(cory) =a _(y) −a _(refy)  (2)

Hereinafter, a_(refx) and a_(refy) will be referred to as referenceacceleration value on the X axis and reference acceleration value on theY axis (first reference acceleration value and second referenceacceleration value), respectively. a_(refx) and a_(refy) used in thefirst calculation of Step 102 a since turning on the power areacceleration signals a_(x) and a_(y) detected right after the power isturned on.

As shown in Equations (3) and (4), the MPU 19 calculates a firstvelocity value V_(x) and a second velocity value V_(y) by respectivelyadding the first and second correction acceleration values a_(corx) anda_(cory), that is, by an integration operation (Step 115).

V _(x)(t)=V _(x)(t−1)+a _(corx)  (3)

V _(y)(t)=V _(y)(t−1)+a _(cory)  (4)

V_(x)(t) and V_(y)(t) represent the currently-obtained velocity valuesand V_(x)(t−1) and V_(y)(t−1) represent previous velocity values.

Meanwhile, as described above, upon turning on the power of the inputapparatus 1, biaxial angular velocity signals (first and second angularvelocity values ω_(x), ω_(y)) are output from the angular velocitysensor unit 15 (Step 101 b) to be supplied to the MPU 19. Uponobtainment, the MPU 19 calculates the angular acceleration values (firstangular acceleration value Δω_(x) and second angular acceleration valueΔω_(y)) by a derivation operation (Step 102 b).

The MPU 19 judges whether absolute values |Δω_(x)| and |Δω_(y)| ofΔω_(x) and Δω_(y) above are smaller than a threshold value Th1 (Steps103 and 106). When |Δω_(y)|≧Th1, the MPU 19 uses the first referenceacceleration value a_(refx) as it is and does not update it (Step 104).Similarly, when |Δω_(x)|≧Th1, the MPU 19 uses the second referenceacceleration value a_(refy) as it is and does not update it (Step 107).

A value close to 0 is set as the threshold value Th1. The thresholdvalue Th1 takes into account the angular velocity values that aredetected due to a hand movement of the user, a DC offset, or the likeeven when the user is consciously holding the input apparatus 1 still.Thus, the pointer 2 is prevented from being moved during display due toa hand movement or a DC offset in the case where the user is consciouslyholding the input apparatus 1 still.

Reasons for performing the processing as described above are as follows.

FIG. 12 is a top view of the user operating the input apparatus 1. Whenthe user operates the input apparatus 1 naturally, the operation is madeby at least one of a rotation from a base of an arm, bending of anelbow, and a turn of a wrist. Therefore, generation of the accelerationleads to generation of the angular acceleration. Specifically, theacceleration is assumed to be subservient to the angular acceleration inthe same direction as the acceleration. Therefore, by the MPU 19monitoring the second angular acceleration value |Δω_(y)|, it ispossible to judge whether to update the first reference accelerationvalue a_(refx) in the same direction, and judge whether to eventuallycorrect the first correction acceleration value a_(corx) from Equation(1). The same holds true for the first angular acceleration value|Δω_(x)|.

More specifically, when the second angular acceleration value |Δωy| isequal to or larger than the threshold value Th1, the MPU 19 judges thatthe input apparatus 1 is moving in the yaw direction. In this case, theMPU 19 does not update the first reference acceleration value a_(refx)and consequently does not correct the first correction accelerationvalue a_(corx), and continues on with the integration operation ofEquation (3) based on a_(corx).

Further, when the first angular acceleration value |Δω_(x)| is equal toor larger than the threshold value Th1, the MPU 19 judges that the inputapparatus 1 is moving in the pitch direction. In this case, the MPU 19does not update the second reference acceleration value a_(refy) andconsequently does not correct the second correction acceleration valuea_(cory), and continues on with the integration operation of Equation(4) based on a_(cory).

Meanwhile, when the second angular acceleration value |Δω_(y)| issmaller than the threshold value Th1 in Step 103, the MPU 19 judges thatthe input apparatus 1 is not moved in the yaw direction. In this case,the MPU 19 updates the first reference acceleration value a_(refx) tothe currently-obtained (latest) detection value a_(x), to therebycorrect the first correction acceleration value a_(corx) using Equation(1) (Step 105). The latest detection value a_(x) is, in other words, adetection value obtained while the input apparatus 1 is held almoststill, thus being a component value by the gravity acceleration.

Similarly, when the first angular acceleration value |Δω_(x)| is smallerthan the threshold value Th1 in Step 106, the MPU 19 judges that theinput apparatus 1 is not moved in the pitch direction. In this case, theMPU 19 updates the second reference acceleration value a_(refy) to thecurrently-obtained (latest) detection value a_(y), to thereby correctthe second correction acceleration value a_(cory) using Equation (2)(Step 108).

It should be noted that in this embodiment, the threshold values in boththe yaw direction and the pitch direction have been set to the samevalue Th1. However, different threshold values may be used for thosedirections.

In the descriptions above, the angular acceleration values Δω_(x) andΔω_(y) have been monitored, but the MPU 19 can also monitor the angularvelocity values ω_(x) and ω_(y) to correct the velocity valuescalculated in Equations (3) and (4). Based on the same idea as that ofFIG. 12, assuming that generation of the velocity leads to generation ofthe angular velocity, it can be assumed that the velocity is subservientto the angular velocity in the same direction as the velocity.

Specifically, when the absolute value of the second angular velocityvalue |ω_(y)| is equal to or larger than a threshold value Th2 (NO inStep 109), the MPU 19 judges that the input apparatus 1 is moving in theyaw direction. In this case, the MPU 19 does not correct the firstvelocity value V_(x) (Step 110). The same holds true for the absolutevalue of the first angular velocity value |ω_(x)| (NO in Step 112, andStep 113).

The threshold value Th2 also only needs to be set in the same manner asthe threshold value Th1.

On the other hand, when the absolute value of the second angularvelocity value |ω_(y)| is smaller than the threshold value Th2 (YES inStep 109), the MPU 19 judges that the input apparatus 1 is not moved inthe yaw direction. In this case, the MPU 19 corrects the first velocityvalue V_(x) so as to reset it to 0, for example (Step 111). The sameholds true for the absolute value of the first angular velocity value|ω_(x)| (YES in Step 112, and Step 114).

The MPU 19 outputs the velocity values V_(x) and V_(y) in bothdirections as described above, and the transmitting device 21 outputs tothe control apparatus 40 the input information on the velocity values(Step 116).

The MPU 35 of the control apparatus 40 is input with the velocity valuesV_(x) and V_(y) as the input information (first movement information)(Step 117). The MPU 35 generates coordinate values X and Y of thepointer 2 shown in Equations (5) and (6) below, that correspond to thevelocity values V_(x) and V_(y) (Step 118), and controls display so asto move the pointer 2 on the screen 3 (Step 119).

X(t)=X(t−1)+V _(x)  (5)

Y(t)=Y(t−1)+V _(y)  (6)

As described above, the reference acceleration values a_(refx) anda_(refy) are updated and the correction acceleration values a_(corx) anda_(cory) are corrected when the input apparatus 1 is held almost still,with the result that the gravitational effect with respect to theacceleration sensor unit 16 can be suppressed. In addition, because thecorrection acceleration values a_(corx) and a_(cory) are corrected usingEquations (1) and (2) upon update of the reference acceleration valuesa_(refx) and a_(refy), a DC level is also corrected, thereby solving theproblem regarding the DC offset. Further, because the velocity valuesare corrected so as to be reset to 0 when the input apparatus 1 is heldalmost still, integration errors can also be suppressed. When anintegration error is generated, a phenomenon in which the pointer 2moves on the screen 3 irrespective of the fact that the user has stoppedmoving the input apparatus 1 occurs.

Moreover, in this embodiment, because the first reference accelerationvalue a_(refx) and the second reference acceleration value a_(refy) areupdated individually, when even one of the angular acceleration valuesin the yaw direction and the pitch direction becomes smaller than thethreshold value, a correction thereof is performed. Therefore, it ispossible to update the first reference acceleration value a_(refx) orthe second reference acceleration value a_(refy) with a time intervalshort enough for practical use. The same holds true for the individualcorrections of the first velocity value V_(x) and the second velocityvalue V_(y). FIG. 13 is an explanatory diagram to help understand theabove description.

FIG. 13 shows a trajectory of the input apparatus 1 seen from a planeformed by the X axis and the Y axis. V_(x) is reset to 0 if the angularvelocity value ω_(y) in the yaw direction is substantially 0 (smallerthan the threshold value Th2). V_(y) is reset to 0 if the angularvelocity value ω_(x) in the pitch direction is substantially 0 (smallerthan the threshold value Th2).

In the related art, in order to reduce the gravitational effect, therehas been, in addition to an input apparatus 1 including six sensors, anapparatus that detects a change in a gravity vector per unit time usingtriaxial acceleration sensors to recognize roll and pitch angularvelocities as XY displacement amounts. Although there is no problemconcerning the Y-axis direction, because this apparatus is of a typethat moves the pointer 2 in the X-axis direction based only on the twistor turn of a wrist of the user in the roll direction, the intuitionaloperation of the user is not matched.

FIG. 14 is a flowchart showing another embodiment described above. Inthe flowchart, the input apparatus 1 outputs, as the input information,to the control apparatus 40, the biaxial acceleration signals andbiaxial angular velocity signals output from the sensor unit 17. The MPU35 of the control apparatus 40 executes Steps 102 a and 102 b to 115shown in FIG. 11 in Steps 204 to 218. Because details thereof are thesame as that of FIG. 11, descriptions thereof will be omitted.

Next, an operation carried out when the icon 4 on the screen 3 of thedisplay apparatus 5 is selected and executed using the input apparatus 1will be described.

FIG. 15 is a flowchart of the operation of selecting and executing theicon 4 on the screen 3 using the input apparatus 1. FIG. 16 is apartially enlarged diagram of the screen 3 for explaining steps ofrestricting the movement of the pointer 2 in the flowchart of FIG. 15.

First, based on the signal from the input apparatus 1 received by thereceiver device 38, the MPU 35 of the control apparatus 40 judgeswhether the button 13 has been pressed (a movement recognition function(gyro function) of the input apparatus 1 has become ineffective) (Step301).

When the button 13 has been pressed in Step 301 (when the movementrecognition function of the input apparatus 1 is ineffective), it isjudged whether the pointer 2 is indicating the area 4A around the icon 4(Step 302).

When the pointer 2 is not indicating the area 4A, the processing isended. On the other hand, when the pointer 2 is indicating the area 4Aas indicated by the arrow in a dotted line of FIG. 16, the pointer 2 ismoved so that the pointer 2 indicates the icon 4 as indicated by thearrow in a solid line of FIG. 16, and the movement of the pointer 2 isrestricted (stopped) at that position (Step 303). The movement iscontrolled so that the pointer 2 is moved to the center of the icon 4 inaccordance with the coordinates (X, Y) thereof, for example. As aresult, a state where the pointer 2 is indicating the area 4A is easilyshifted to a state where the icon 4 is indicated.

Next, the icon 4 indicated is set to be in a selected state (Step 304).At this time, the icon 4 may be colored black or a design of the icon 4may be changed so that it can be seen that the icon 4 has been selected,for example.

Next, it is judged whether the button 13 is in the pressed state (themovement recognition function of the input apparatus 1 is ineffective)and the button 11 is double-clicked (Step 305).

When, in Step 305, the button 13 is in the pressed state (the movementrecognition function of the input apparatus 1 is ineffective) and thebutton 11 is double-clicked, the icon 4 is executed based on executioninformation indicating the double-click (Step 306), and the processingis ended.

When, in Step 305, such a condition that the button 13 is pressed (themovement recognition function of the input apparatus 1 is ineffective)and the button 11 is double-clicked is not satisfied, it is judgedwhether the button 13 is in the pressed state (the movement recognitionfunction of the input apparatus 1 is ineffective) (Step 307).

When the movement recognition function of the input apparatus 1 isineffective in Step 307, the icon 4 is in a selected state, so theprocessing returns to Step 305.

When the button 13 is not in the pressed state (the movement recognitionfunction of the input apparatus 1 is ineffective) in Step 307 (form ofrestriction cancel information), the selected state of the icon 4 iscanceled (Step 308) and the processing is ended.

As described above, according to this embodiment, the control apparatus40 input with, when the button 13 is pressed while the pointer 2 isindicating the area 4A around the icon 4 on the screen 3 as indicated bythe arrow in a dotted line of FIG. 16, a signal indicating that thebutton 13 has been pressed and a signal of coordinate information of thepointer 2 at that time is provided, and the control apparatus 40performs movement control so that the pointer 2 indicates the icon 4 asindicated by the arrow in a solid line of FIG. 16 based on thosesignals. Therefore, even when the pointer 2 is not directly indicatingthe icon 4, indicating the area 4A around the icon 4 can lead toindication of the icon 4, and the operability in selecting the icon 4 onthe screen 3 by the pointer 2 can thus be improved.

Particularly when the input apparatus 1 including the button 13 is usedby swinging it at a position distant from the display apparatus 5 asshown in FIGS. 8A and 8B, the influence of a hand movement can beeliminated and the icon 4 can be reliably selected.

Since the input apparatus 1 includes the button 13, by pressing thebutton 13 while the pointer 2 is indicating a position on the screen 3other than the icons 4 and the surrounding areas 4A, for example, thefunction of recognizing the movement of the input apparatus 1 can bemade ineffective. In other words, an operation corresponding to a “lift”operation of a mouse in the related art can be easily realized.

Next, another embodiment will be described. It should be noted that inthis and subsequent embodiments, structures and the like similar tothose of the above embodiments are denoted by the same referencesymbols, and descriptions thereof will be omitted. Points differenttherefrom will mainly be described.

FIG. 17 is a perspective diagram of an input apparatus 1′ of thisembodiment.

As shown in FIG. 17, the input apparatus 1′ includes a scroll dialbutton 13′ in place of the button 13 shown in FIG. 2.

The scroll dial button 13′ can be pressed in a first direction R1 so asto be pressed into the casing 10, and can be rotated in a seconddirection R2 and a third direction R3.

For example, when the scroll dial button 13′ is pressed in the directionof the arrow R1, effectiveness/ineffectiveness of the function ofrecognizing the movement of the input apparatus 1′ can be switched as inthe case of the button 13 described above.

FIGS. 18 and 19 are diagrams for illustrating a method of selecting theicon 4 using the scroll dial button 13′.

As shown in FIG. 18, when the scroll dial button 13′ of the inputapparatus 1′ is rotated in the second direction R2 in a state where thepointer 2 has selected an icon 4(1), the icons are selected in the orderof an icon 4(2), an icon 4(3), . . . an icon 4(10), an icon 4(1) . . . .

As shown in FIG. 19, when the scroll dial button 13′ of the inputapparatus 1′ is rotated in the third direction R3 in a state where thepointer 2 has selected an icon 4(1), the icons are selected in the orderof an icon 4(2), an icon 4(3), . . . an icon 4(10), an icon 4(1) . . . .

Next, a description will be given on an operation of selecting andexecuting the icon 4 using the scroll dial button 13′.

FIG. 20 is a flowchart illustrating the operation of selecting andexecuting the icon 4. It should be noted that Steps 301 to 304 and 305to 308 are the same as those of the above embodiment, so descriptionsthereof will be omitted.

As in the above embodiment, in a state where the icon 4(1), for example,is selected (Step 304), it is judged whether the scroll dial button 13′has been rotated in the second direction R2 (Step 401).

When the scroll dial button 13′ is rotated in the second direction R2 inStep 401, based on the rotational amount thereof as second movementinformation, the pointer 2 is moved to the icon 4(2), the icon 4(3), orthe like as shown in FIG. 18 (Step 402), and the icon 4(2), the icon4(3), or the like is set to be in the selected state (Step 403). Then,the process advances to Step 305.

Meanwhile, when the scroll dial button 13′ is not rotated in the seconddirection R2 in Step 401, it is judged whether the scroll dial button13′ has been rotated in the third direction R3 (Step 404).

When the scroll dial button 13′ has been rotated in the third directionR3 in Step 404, based on the rotational amount thereof, the pointer 2 ismoved to the icon 4(2), the icon 4(3), or the like as shown in FIG. 19(Step 405), and the icon 4(2), the icon 4(3), or the like is set to bein the selected state (Step 406). Then, the process advances to Step305.

When the scroll dial button 13′ is not rotated in the third direction R3in Step 404, the process advances to Step 305.

As described above, in this embodiment, the input apparatus 1′ includesthe scroll dial button 13′, and the control apparatus 40 includes thereceiver device 38 for receiving the second movement information of thescroll dial button 13′ and the MPU 35 for controlling the pointer 2 tomove from the selected icon 4(1) to another icon 4(2) in order, based onthe second movement information.

Thus, when the scroll dial button 13′ is rotated in the second directionR2 in the state where the icon 4(1) is selected by the pointer 2 (Step304), the information on the rotational amount of the scroll dial button13′ as the second movement information is input to the control apparatus40, and based on the second movement information, the MPU 35 can movethe pointer 2 from the selected icon 4(1) to another icon 4(2) or thelike in the order shown in FIG. 18.

Therefore, by rotating the scroll dial button 13′ when another icon4(10) near the icon 4(1) is erroneously indicated, the pointer 2 can bemoved to the icon 4(1) in the order shown in FIG. 18 or 19, whereby thedesired icon 4(1) can be easily selected.

Further, as compared to a mouse including a left button, a right button,and a scroll dial button in the related art, because additional partsare unnecessary, cost reduction can be realized.

It should be noted that in this embodiment, the example in which thescroll dial button 13′ is rotated when the icon 4(1) is selected hasbeen shown. However, the same holds true also for a case where anothericon is initially selected. Further, the example in which the icons 4are first selected in order in the vertical direction of the screen 3and subsequently selected in order in the lateral direction of thescreen 3 has been shown, but the order of selection is not limited.

Next, another embodiment will be described.

FIG. 21 is a perspective diagram of the input apparatus of thisembodiment.

As shown in FIG. 21, an input apparatus 200 includes a ball-like button130 in place of the button 13 shown in FIG. 2.

The button 130 can be pressed in the first direction R1 so as to bepressed into the casing 10, and can rotate in various directions such asthe second direction R2, the third direction R3, a fourth direction R4,and a fifth direction R5.

When the button 130 is pressed in the direction of the arrow R1,effectiveness/ineffectiveness of a function of recognizing a movement ofthe input apparatus 200 can be switched as in the case of the button 13described above, for example.

FIG. 22 is a diagram for illustrating a method of selecting the icon 4using the button 130.

As shown in FIG. 22, when the button 130 of the input apparatus 200 isrotated in the fifth direction R5 in a state where the icon 4(1) isselected by the pointer 2, the icon 4(2) is selected. When the button130 is rotated in the third direction R3, the icon 4(3) is selected.When the button 130 is rotated in a sixth direction R6 between the thirddirection R3 and the fifth direction R5, the icon 4(4) is selected.

With such a structure, as in the above embodiments, by rotating thebutton 130 when the icon 4(1) is selected, the pointer 2 can be moved toany of other arbitrary icons 4(2) to 4(4) and the like around the icon4(1). In the case of this embodiment, because the button 130 can berotated in various directions, a change can easily be made to an iconwished to be selected, in a shortest distance.

In the above embodiments, the 3-dimensional pointing device has beendescribed as an example of the input apparatus. However, the presentinvention can of course be applied to a mouse. FIG. 23 is a plan view ofthe mouse.

As shown in FIG. 23, for example, the function of the button 13 may beprovided to a mouse 300 of the related art that includes a left button301, a right button 302, a scroll dial button 303, and the like. Forexample, a function of switching effectiveness/ineffectiveness of afunction of recognizing a movement of the mouse 300, which is thefunction of the button 13, may be provided to the right button 302 orthe scroll dial button 303.

Subsequently, an input apparatus according to another embodiment will bedescribed.

FIG. 24 is a perspective diagram showing an input apparatus 51. FIG. 25is a side view of the input apparatus 51 seen from the scroll dialbutton 13′ side. In the following, descriptions on components,functions, and the like similar to those of the input apparatus 1according to the embodiment shown in FIG. 2 and the like will besimplified or omitted, and points different therefrom will mainly bedescribed.

A casing 50 of the input apparatus 51 includes a partial sphere orpartial quadric surface 50 a provided at a predetermined position on asurface of the casing 50. Hereinafter, the partial sphere or quadricsurface (50 a) will be referred to as “lower curved surface” (50 a) forconvenience.

The lower curved surface 50 a is formed at a position almost opposite tothe buttons 11 and 12, that is, a position where, when a user holds theinput apparatus 51, a pinky is located closer to the lower curvedsurface 50 a than other fingers. Alternatively, in a case where, in thecasing 50 elongated in one direction (Z′-axis direction), the sensorunit 17 is provided on a positive side of the Z′ axis with respect to alongitudinal center of the casing 50 in the Z′-axis direction, the lowercurved surface 50 a is provided on a negative side of the Z′ axis.

Typically, the partial sphere is substantially a hemisphere, but doesnot necessarily have to be a hemisphere. The quadric surface is a curvedsurface obtained by expanding a 2-dimensional conic curve (quadriccurve) into a 3-dimensional conic curve. Examples of the quadric surfaceinclude an ellipsoid surface, an ellipsoid paraboloid surface, and ahyperbolic surface.

With the configuration of the casing 50 of the input apparatus 51 asdescribed above, a user can easily operate the input apparatus 51 whilecausing the lower curved surface 50 a of the input apparatus 51 as afulcrum to abut on a table, a chair, a floor, a knee or thigh of a user,and the like (hereinafter, referred to as abutment target object 49).That is, even in the state where the lower curved surface 50 a of theinput apparatus 51 is abutted on the abutment target object 49, the usercan easily tilt the input apparatus 51 in diverse angles, therebyenabling delicate operations such as placing the pointer on the icon.FIG. 26 is a diagram showing the state where the user operates the inputapparatus 51 while causing the lower curved surface 50 a to abut on theknee.

Alternatively, in this embodiment, erroneous operations due to a shakeof a hand, which cannot be suppressed by a shake correction circuit, canbe prevented from occurring, and the user is free from fatigue that iscaused when the user operates the input apparatus 51 in the air.

FIG. 27 is a perspective diagram of an input apparatus according tostill another embodiment of the present invention.

A casing 60 of an input apparatus 61 includes, similar to the inputapparatus 51 shown in FIGS. 24 and 25, a lower curved surface 60 aconstituted of a partial sphere. A plane perpendicular to a maximumlength direction (Z′-axis direction) of the casing 60 of the inputapparatus 61 and is in contact with the lower curved surface 60 a(hereinafter, referred to as lower end plane 55 for convenience) issubstantially parallel to a plane formed by the X axis and the Y axis(see FIG. 5) as detection axes of the angular velocity sensor unit 15(X-Y plane).

With the structure of the input apparatus 61 as described above, in acase where an operation is made by the user while the lower curvedsurface 60 a is abutted on the lower end plane 55, angular velocitiesapplied to the input apparatus 61 are input to the angular velocitysensor unit 15 as they are. Thus, an amount of calculation required toobtain detection values from the detection signals from the angularvelocity sensor unit 15 can be reduced.

FIG. 28 is a plan view showing an input apparatus according to anotherembodiment. FIG. 29 is a side view showing the input apparatus.

A lower curved surface 70 a of a casing 70 of an input apparatus 71 is,for example, a partial sphere. The lower curved surface 70 a is set witha larger curvature radius than the lower curved surfaces 50 a and 60 aof the input apparatuses 51 and 61 shown in FIGS. 24 and 27. The angularvelocity sensor unit 15 is provided at a position at which a straightline contained in the X-Y plane formed by the X axis and the Y axis asthe detection axes of the angular velocity sensor unit 15 corresponds toa tangent line of a virtually-drawn circle 56 that passes the partialsphere when seen from the X- and Y-axis directions. As long as thecondition as described above is satisfied, the angular velocity sensorunit 15 may be arranged in the casing 70 such that the X-Y plane of theangular velocity sensor unit 15 is tilted with respect to a longitudinaldirection of the input apparatus 71 (see FIG. 28).

Accordingly, because a direction of the vector of the angular velocitygenerated when the user operates the input apparatus 71 while abuttingthe lower curved surface 70 a thereof on the abutment target object 49and the detection direction of the angular velocity sensor unit 15match, a linear input is thus enabled.

FIG. 30 is a plan view of an input apparatus according to anotherembodiment.

A sphere as a lower curved surface 80 a of a casing 80 of an inputapparatus 81 has a curvature radius the same as or close to that shownin FIG. 27, for example. Regarding the angular velocity sensor unit 15,a virtual straight line that passes an intersection of the X axis andthe Y axis, which is a center point of the angular velocity sensor unit15, and is orthogonal to the X axis and the Y axis passes a center pointO of a first sphere 62 including the lower curved surface 80 a. With thestructure as described above, the first sphere 62 including the lowercurved surface 80 a and a second sphere 63 in which the straight linecontained in the X-Y plane of the angular velocity sensor unit 15becomes a tangent line are arranged concentrically. Therefore, the inputapparatus 81 bears the same effect as the input apparatus 71 shown inFIG. 28.

It should be noted that the input apparatus 51, 61, 71, or 81 includingthe partial sphere or the partial quadric surface described above doesnot necessarily need to be operated by the user while the lower curvedsurface 50 a, 60 a, 70 a, or 80 a thereof is abutted against theabutment target object 49, and may of course be operated in air.

Various modifications can be made to the above embodiments.

The processing flow described in FIG. 15 can also be applied to, forexample, a case where the pointer has moved to the area 4A to be placedon a first icon and a case of moving to a second icon adjacent to thefirst icon. Specifically, the processing flow described in FIG. 15 mayalso be applied to a case where the pointer has moved from the firsticon 4 that has been selected to the second icon 4 (or moved to thethird or subsequent icon 4).

In the descriptions of the above embodiments, as a form of therestriction cancel information, the information indicating that thepressing of the button 13, 13′, or the like has been released has beentaken as an example. However, as another form of the restriction cancelinformation, information indicating that the velocity, acceleration, orangular velocity of the input apparatus 1 has exceeded a threshold valuemay be used as the restriction cancel information. Specifically, forexample, the movement of the pointer 2 may be controlled such that, in acase where, after the pointer 2 is temporarily restrained on the icon 4and the movement is thus restricted, the user moves the input apparatusat a predetermined velocity, acceleration, angular velocity, or thelike, the restraint is released and the pointer 2 is moved away from theicon 4.

As restriction cancel information according to another embodiment, acase where a certain gesture is made when the user moves the inputapparatus 1 while holding the input apparatus 1 is given. In this case,the movement restriction only needs to be canceled when the gesture ofthe user matches or is close to gesture information stored in advance inthe input apparatus 1 or the control apparatus 40. Typically, thegesture information is information on the movement of the casing 10 thatthe user has registered in advance, for example. A certain gesture is amovement of swinging the casing 10 a predetermined number of times, amovement of the user signing his/her own autograph, other movements ofwriting/drawing letters and figures, and the like. Control may also beperformed such that, by the certain gesture, the pointer 2 is moved fromthe first icon currently being restrained upon to the second iconadjacent thereto.

Although the input apparatuses 1, 1′, 200, 15, and the like of the aboveembodiments have transmitted the input information to the controlapparatus wirelessly, the input information may be transmitted by wire.

The present embodiments may also be applied to, for example, a handheldinformation processing apparatus in which the input apparatus (or 1′,200, 15, etc.), the control apparatus 40, and the display apparatus 5are integrated. Examples of the handheld information processingapparatus include a PDA (Personal Digital Assistance), a cellular phone,a portable music player, and a digital camera.

In the above embodiments, the pointer 2 that moves on the screen inaccordance with the movement of the input apparatus 1, 51, or the likehas been represented by an image of an arrow. However, the image of thepointer 2 is not limited to the arrow, and a simple circle, square, andthe like, or a character image or other images may be used instead.

The detection axes of each of the angular velocity sensor unit 15 andthe acceleration sensor unit 16 of the sensor unit 17 do not necessarilyneed to be mutually orthogonal like the X′ axis and the Y′ axisdescribed above. In this case, the accelerations respectively projectedin the mutually-orthogonal axial directions can be obtained by acalculation that uses a trigonometric function. Similarly, the angularvelocities about the mutually-orthogonal axes can be obtained by thecalculation that uses the trigonometric function.

An angle sensor or an angular acceleration sensor may be used instead ofthe angular velocity sensor unit 15. As the angle sensor, there are ageomagnetic sensor, an image sensor, and the like. When using a triaxialgeomagnetic sensor, for example, a change amount of an angle value isdetected. Therefore, in this case, the angular velocity value can beobtained by subjecting the angle value to a derivation operation. Theangular acceleration sensor is constituted of a combination of aplurality of acceleration sensors, and the angular velocity value can beobtained by subjecting the angular acceleration value obtained by theangular acceleration sensor to an integration operation.

FIG. 11 has shown the calculation method of the velocity values (V_(x),V_(y)). However, the present invention is not limited thereto, and theMPU 19 may calculate the velocity values (V_(x), V_(y)) corresponding tothe angular velocity values detected by the angular velocity sensor unit15. For example, the velocity values corresponding to the angularvelocity values are velocity values calculated by a predeterminedoperational expression (function of angular velocity values and velocityvalues), or velocity values read out from the memory using a lookuptable. In this case, the acceleration values (a_(x), a_(y)) obtained bythe acceleration sensor unit 16 do not have to be used.

For example, in the above embodiments, display has been controlled suchthat the pointer 2 is drawn to the icon 4. However, display may becontrolled such that, when the pointer 2 is placed inside the area 4A,the icon 4 is displayed with emphasis. The display with emphasis meansthat at least one of a design and size of the icon 4 is changed. Thedesign of the icon 4 refers to a color, pattern, shape, and the like.When the pointer 2 closes in on the icon 4, for example, indication ismade such that the color is changed, or the like. Display may also becontrolled such that the size of the icon 4 is made larger than beforeso that a part of the icon 4 is positioned on the coordinates of thepointer 2 (this is included in the emphasis display of the icon 4).

In addition, control of moving the entire icon 4 may be executed suchthat, when the pointer 2 is positioned inside the area 4A, apredetermined coordinate position inside the image of the icon 4 ispositioned at a coordinate position of the pointer 2.

Alternatively, when the pointer 2 is positioned inside the area 4A, thepointer 2 may be displayed with emphasis. In this case, similar to theemphasis display of the icon 4, at least one of a design and size of thepointer 2 only needs to be changed, like the pointer 2 is extended tothe icon 4, for example.

The movement of the pointer 2 may also be controlled such that amovement sensitivity of the pointer 2 is improved as the pointer 2 comescloser to the coordinates of the icon 4. The closer the position of thepointer 2 is to the coordinates of the icon 4, the more slightly theuser needs to move the input apparatus 1 to move the pointer 2 a largedistance.

For changing the movement sensitivity as described above, for example,the MPU 35 of the control apparatus 40 only needs to calculate, as newvelocity values, (αV_(x), βV_(y)) that are values obtained bymultiplying the velocity values (V_(x), V_(y)) for moving the icon 4 bycoefficients (α, β). Then, the MPU 35 only needs to generate coordinatevalues of the pointer 2 based on the new velocity values. Thecoefficients (α, β) only need to be real numbers or integers. In thiscase, for example, it is only necessary that a function in which thecoefficients (α, β) decrease as the pointer 2 moves farther away fromcoordinate values of a center of the image of the icon 4 (or coordinatevalues at a predetermined position within the image of the icon 4) onthe screen be used. The function may be a linear function, a function ofquadratic or more, or an exponent function.

It is also possible to use either one of the coefficients α and β. Inother words, the movement sensitivity in either one of the X-axisdirection and the Y-axis direction on the screen may be variable.

The degree by which the pointer 2 is drawn to the icon 4 may be changedin accordance with a use frequency (e.g., use count) of the icon 4 bythe user. For example, the MPU 35 of the control apparatus 40 counts ause count of the first icon and a use count of the second icon fromamong the plurality of icons 4, and stores those count values in thenonvolatile memory. When the use count of the first icon is equal to orsmaller than predetermined, even when a distance of the pointer 2 fromthe coordinate values of the first icon and a distance of the pointer 2from the coordinate values of the second icon used more than apredetermined number of times are the same, the movement sensitivity ofthe second icon only needs to be set higher than that of the first icon.

It is also possible for the MPU 35 to variably set the movementsensitivity of the pointer 2 from the coordinate positions of the icons4, for each of multiple stages into which the use frequency is divided.

It is also possible to control detachability of the pointer 2 from theicon 4. For example, the larger the use count of the first icon is, thelower the movement sensitivity of the pointer 2 from the first icon (orthe area 4A around the first icon) is, that is, it becomes harder tomove away.

The use count may be, for example, the number of times an operation ofexecuting a file, which is an operation of opening a file correspondingto the icon or activating an application program corresponding to theicon, is carried out. However, the present invention is not limitedthereto, and an icon selection operation, a drag operation, a copyoperation, or a combination of those may be included in the use count.

An information processing apparatus includes an input means forinputting movement information for moving on a screen a pointer forselecting a target object from the plurality of target objects displayedon the screen, and a control means for controlling the movement of thepointer on the screen by multiplying the movement information input bythe input means by a coefficient that changes in accordance with adistance between the target object and the pointer on the screen.

Alternatively, an information processing apparatus includes an inputmeans for inputting movement information for moving on a screen apointer for selecting a target object from a plurality of target objectsdisplayed on the screen, and a control means for controlling themovement of the pointer on the screen by multiplying the movementinformation input by the input means by a coefficient that changes inaccordance with a use frequency of the target object.

The information processing apparatus may be the input apparatus 1, thecontrol apparatus 40, or the handheld information processing apparatusthat includes a display as well as a combination of those two.

It should be understood that various changes and modifications to thepresently preferred embodiments described herein will be apparent tothose skilled in the art. Such changes and modifications can be madewithout departing from the spirit and scope of the present invention andwithout diminishing its intended advantages. It is therefore intendedthat such changes and modifications be covered by the appended claims.

What is claimed is:
 1. An information processing apparatus comprising: adisplay means configured to display on a screen a plurality of targetobjects and a pointer for selecting a target object from the pluralityof target objects; an input means for inputting first movementinformation for moving the pointer on the screen, movement restrictioninformation for moving, when the pointer is indicating a predeterminedarea around the target object on the screen, the pointer such that thepointer indicates the target object, and restricting the movement of thepointer at that position, and execution information for executing, bythe pointer, the target object indicated by the pointer on the screen;and a control means for performing movement control of the pointer andexecution control of the target object based on the first movementinformation, the movement restriction information, and the executioninformation input by the input means.
 2. The information processingapparatus according to claim 1, wherein the input means inputs secondmovement information for moving, when the movement of the pointer isrestricted while indicating the target object on the screen, the pointerfrom the target object indicated by the pointer to another target objectin a predetermined order; and the control means performs the movementcontrol of the pointer based on the second movement information.
 3. Theinformation processing apparatus according to claim 1, wherein the inputmeans inputs third movement information for moving, when the movement ofthe pointer is restricted while indicating the target object on thescreen, the pointer to another target object around the target objectindicated by the pointer; and the control means performs the movementcontrol of the pointer based on the third movement information.
 4. Theinformation processing apparatus according to claim 1, wherein the inputmeans inputs restriction cancel information for canceling therestriction on the movement of the pointer whose movement is restricted;and the control means performs the movement control of the pointer basedon the restriction cancel information.
 5. The information processingapparatus according to claim 2, wherein the movement restrictioninformation contains information for moving the pointer such that thepointer indicates the another target object, and restricting themovement of the pointer at that position.
 6. The information processingapparatus according to claim 3, wherein the movement restrictioninformation contains information for moving the pointer such that thepointer indicates the another target object, and restricting themovement of the pointer at that position.
 7. The information processingapparatus according to claim 4, wherein the input means includes aninput apparatus that is operated by a user, and a button provided to theinput apparatus for the user to make a switch as to whether or not tolet the input apparatus recognize a movement of the input apparatus; andthe control means performs the movement control of the pointer based on,as the restriction cancel information, an operation signal of the buttoncaused by the user.
 8. The information processing apparatus according toclaim 4, wherein the control means performs the movement control of thepointer based on the first movement information as the restrictioncancel information.
 9. An information processing apparatus comprising: adisplay means configured to display on a screen a plurality of targetobjects and a pointer for selecting a target object from the pluralityof target objects; an input means for inputting first movementinformation for moving the pointer on the screen, movement restrictioninformation for moving, when the pointer is indicating a predeterminedarea around the target object on the screen, the pointer such that thepointer indicates the target object and restricting the movement of thepointer at that position, and restricting, when the pointer isindicating the target object, the movement of the pointer from thetarget object to outside the target object, and execution informationfor executing, by the pointer, the target object indicated by thepointer on the screen; and a control means for performing movementcontrol of the pointer and execution control of the target object basedon the first movement information, the movement restriction information,and the execution information input by the input means.
 10. An inputapparatus operating a pointer for selecting a target object from aplurality of target objects displayed on a screen, the input apparatuscomprising: a first operation section to input first movementinformation for moving the pointer on the screen; a second operationsection to input movement restriction information for moving, when thepointer is indicating a predetermined area around the target object onthe screen, the pointer such that the pointer indicates the targetobject, and restricting the movement of the pointer at that position;and a third operation section to input execution information forexecuting the target object indicated by the pointer on the screen. 11.The input apparatus according to claim 10, wherein the first operationsection recognizes a movement of the input apparatus, and the recognizedmovement is input as the first movement information.
 12. The inputapparatus according to claim 10, further comprising a fourth operationsection to input second movement information for moving, when themovement of the pointer is restricted while indicating the target objecton the screen, the pointer from the target object indicated by thepointer to another target object in a predetermined order.
 13. The inputapparatus according to claim 12, wherein the second operation sectionand the fourth operation section are constituted of a single scroll dialbutton; the second operation section performs the input when the scrolldial button is pressed; and the fourth operation section performs theinput when a scroll dial of the scroll dial button is rotated.
 14. Theinput apparatus according to claim 10, further comprising a fifthoperation section to input third movement information for moving, whenthe movement of the pointer is restricted while indicating the targetobject on the screen, the pointer to another target object around thetarget object indicated by the pointer.
 15. An input apparatus operatinga pointer for selecting a target object from a plurality of targetobjects displayed on a screen, the input apparatus comprising: a firstoperation section to input first movement information for moving thepointer on the screen; a second operation section to input movementrestriction information for moving, when the pointer is indicating apredetermined area around the target object on the screen, the pointersuch that the pointer indicates the target object and restricting themovement of the pointer at that position, and restricting, when thepointer is indicating the target object, the movement of the pointerfrom the target object to outside the target object; and a thirdoperation section to input execution information for executing thetarget object indicated by the pointer on the screen.
 16. An informationprocessing system comprising: a display apparatus configured to displayon a screen a plurality of target objects and a pointer for selecting atarget object from the plurality of target objects; an input apparatusincluding a first operation section to input first movement informationfor moving the pointer on the screen, a second operation section toinput movement restriction information for moving, when the pointer isindicating a predetermined area around the target object on the screen,the pointer such that the pointer indicates the target object, andrestricting the movement of the pointer at that position, and a thirdoperation section to input execution information for executing thetarget object indicated by the pointer on the screen; and an informationprocessing apparatus including an input means for inputting the firstmovement information, the movement restriction information, and theexecution information, and a control means for performing movementcontrol of the pointer and execution control of the target object basedon the first movement information, the movement restriction information,and the execution information input by the input means.
 17. Theinformation processing system according to claim 16, wherein the inputapparatus is a 3-dimensional pointing device.
 18. An informationprocessing method comprising: displaying on a screen a plurality oftarget objects and a pointer for selecting a target object from theplurality of target objects; moving the pointer on the screen; moving,when the pointer is indicating a predetermined area around the targetobject on the screen, the pointer such that the pointer indicates thetarget object, and restricting the movement of the pointer at thatposition; and executing the target object indicated by the pointer onthe screen.
 19. An information processing method comprising: displayingon a screen a plurality of target objects and a pointer for selecting atarget object from the plurality of target objects; moving the pointeron the screen; moving, when the pointer is indicating a predeterminedarea around the target object on the screen, the pointer such that thepointer indicates the target object, and restricting the movement of thepointer at that position; restricting, when the pointer is indicatingthe target object, the movement of the pointer from the target object tooutside the target object; and executing the target object indicated bythe pointer on the screen.
 20. A computer program product stored on acomputer-readable medium including executable instructions that whenexecuted by a processor perform steps for causing an informationprocessing apparatus to execute: displaying on a screen a plurality oftarget objects and a pointer for selecting a target object from theplurality of target objects; moving the pointer on the screen; moving,when the pointer is indicating a predetermined area around the targetobject on the screen, the pointer such that the pointer indicates thetarget object, and restricting the movement of the pointer at thatposition; and executing the target object indicated by the pointer onthe screen.
 21. An information processing apparatus comprising: an inputmeans for inputting movement information for moving on a screen apointer for selecting a target object from the plurality of targetobjects displayed on the screen; a movement control means forcontrolling the movement of the pointer on the screen based on themovement information input by the input means; and a display controlmeans for controlling display of the screen such that, when the pointeris indicating a predetermined area around the target object on thescreen, at least one of the pointer and the target object is displayedwith emphasis.
 22. An information processing apparatus comprising: aninput means for inputting movement information for moving on a screen apointer for selecting a target object from a plurality of target objectsdisplayed on the screen; a movement control means for controlling themovement of the pointer on the screen based on the movement informationinput by the input means; and a display control means for controllingdisplay of the screen such that, when the pointer is indicating apredetermined area around the target object on the screen, the targetobject is moved to a position of the pointer.